Enterprises run on many applications that interact with each other and are inter-dependent. As a result, tasks of application support and maintenance are usually inter-related. An application maintenance task often modifies one or more application artifacts (e.g. codes and data structure). At design/plan time generally, only artifacts that are directly targeted by a task are considered even though execution of a task may change more artifacts because of direct/indirect impact.
Executing maintenance tasks without recognizing artifact associations and consequently task associations causes delayed and low quality delivery. In current practice, task association analysis is conducted manually and ad-hoc, often when a problem arises. Inappropriate task assignment to resources may cause severe interlock among task owners; in addition, there is lack of definitive guidance for collaboration among task owners. Because of complicated task associations, task assignment becomes difficult without a systematical approach to considering the hard or soft constraints imposed by task-resource matching, task associations, and resource-resource relationships.